package com.travel.service.Service;

import com.travel.model.dto.comment.CommentRequest;
import com.travel.model.dto.comment.RatingStats;
import com.travel.model.dto.destination.DestinationDTO;
import com.travel.model.entity.content.Comment;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
//目的地服务 获取所有公共景点 获取特定城市景点 获取特定景点 创建景点 更新景点 删除景点 搜索景点 添加评论 获取评论 获取评分统计
public interface DestinationService {
    Page<DestinationDTO> getAllPublicDestinations(Pageable pageable);
    List<DestinationDTO> getDestinationsByCity(String city);
    DestinationDTO getDestinationById(Long id);
    DestinationDTO createDestination(DestinationDTO destinationDTO);
    DestinationDTO updateDestination(Long id, DestinationDTO destinationDTO);
    void deleteDestination(Long id);
    Page<DestinationDTO> searchDestinations(String keyword, Pageable pageable);
    
    // 修改评论相关方法签名
    Comment addComment(Long destinationId, CommentRequest request);  // 改为接收 CommentRequest
    List<Comment> getComments(Long destinationId);
    
    RatingStats getDestinationRating(Long destinationId);
} 